home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 129_02 / ctdlcnfg.sys < prev    next >
Text File  |  1985-03-09  |  17KB  |  340 lines

  1. /************************************************************************/
  2. /*                ctdlCnfg.sys                */
  3. /*                                    */
  4. /*    configuration file for Citadel bulletin board system.        */
  5. /*    This is >>>NOT<<< a C file!  It is read in by configur.com    */
  6. /*    which sets up a "ctdlTabl.sys" binary file recording the local    */
  7. /*    configuration parameters.  (CtdlTabl.sys is read by the other    */
  8. /*    Citadel programs.)                        */
  9. /*       NB:    all numbers are in hex.                 */
  10. /************************************************************************/
  11.  
  12. /************************************************************************/
  13. /*                History                 */
  14. /*                                    */
  15. /* 84Aug22 HAW    Modified to run on Z100 CPM-85 using Serial B.        */
  16. /* 84Jun10 HAW    ALLMAIL...                        */
  17. /* 83Feb26 CrT    LOGINOK, ENTEROK & READOK...                */
  18. /* 83Feb06 CrT    Mods to debug ICS files on ODD-DATA machine...        */
  19. /* 82Nov24 CrT    This file now handles H89 with SmartModem @ port D8    */
  20. /* 82Nov21 CrT    Created.                        */
  21. /************************************************************************/
  22.  
  23. /************************************************************************/
  24. /*   This file must be edited to be appropriate to the local environ-    */
  25. /* ment.  It specifies the name of the installation, location of the    */
  26. /* modem port, et cetera.  You will have to add some simple routines    */
  27. /* to handle carrier-detect etc.  This file is then processed by    */
  28. /* CONFIGUR.COM, which produces the ctdlTabl.sys file which is read    */
  29. /* automatically by the other Citadel programs -- currently SYSOP.COM    */
  30. /* and CITADEL.COM.                            */
  31. /*    Lines not beginning with "#" are ignored by CONFIGUR and may be    */
  32. /* deleted once the file is successfully configured -- they are purely    */
  33. /* documentary.                             */
  34. /************************************************************************/
  35.  
  36. /* nodeTitle will be printed whenever Citadel.com is run, and should    */
  37. /* identify your local installation.                    */
  38. #nodeTitle "Citadel-85 Test System"
  39.  
  40. /* nodeName is purely for networking purposes.    Messages which orignated*/
  41. /* on your system will have headers looking like            */
  42. /* 82Nov23 From Cynbe ru Taren @ODD-DATA
  43. /* This should be a short (for the sake of the reader!) mnemonic    */
  44. /* identifying your node for humans.                    */
  45. #nodeName "RotGut"
  46.  
  47. /* nodeId is also purely for networking purposes.  Messages which    */
  48. /* originate on your system will be marked with the nodeId, but it will */
  49. /* not normally be printed out.  It is primarily for the use of the    */
  50. /* networking support software, and forms a globally unique name and    */
  51. /* address of your system.  It consists of a country abbreviation    */
  52. /* followed by area code and phone number.  (The "country codes" listed */
  53. /* in the phone book are >not< fixed, but depend on the country the    */
  54. /* call is originating from.  They are basically routing codes rather    */
  55. /* than addresses.)  Country abbreviation for the US is "US", for    */
  56. /* Canada is "CA".  (For others, see COUNTRY.DOC.)            */
  57. #nodeId "US 612 431-1107"    /* Ye olde computer line        */
  58.  
  59. /* CLOCK tells Citadel whether you have a hardware clock in the system    */
  60. /* for day-hours.  All it does at the moment:  if you have one, you    */
  61. /* won't be prompted for date etc each time you boot in standalone    */
  62. /* mode.  The auto-network software will use this eventually also...    */
  63. #define CLOCK 0         /* 1 if hardware clock, else 0        */
  64.  
  65. /* CRYPTSEED is a number used in encrypting the password file.    Change    */
  66. /* it once when you install the system, but not thereafter -- or you    */
  67. /* won't be able to read the existing files any more.            */
  68. #define CRYPTSEED  553        /*                    */
  69.  
  70. /* MDATA is the port Citadel will attempt to read and write modem data    */
  71. /* from.  We expect 8-bit bytes, naturally...                */
  72. #define MDATA EC        /* Modem data port            */
  73.  
  74. /* MEGAHZ is the 8080-equivalent clock rate, used for busy-wait loops    */
  75. /* various places -- in particular, in the WC-protocol code.        */
  76. #define MEGAHZ 5        /* Z100 8085 rate (for wait loops)    */
  77.  
  78. /* MESSAGEK sizes "ctdlmsg.sys", the file message text is stored in.    */
  79. /* The size of this parameter together with the rate message text is    */
  80. /* entered at determines message lifetime.  ICS ran for a few months    */
  81. /* with 87K, and message lifetime sometimes dropped below 3 days,    */
  82. /* upsetting the weekly callers.  A one-week minimum seems the target    */
  83. /* to try for.    ICS is currently (82Nov26) running a 250K message file. */
  84. /* Note that MESSAGEK is a >>Hex Number<< like all others in this file! */
  85. #define MESSAGEK  1        /* number of Kbyte to use in ctdlmsg.sys*/
  86.  
  87. /* RCPM is a switch to indicate whether Citadel is running as a stand-    */
  88. /* alone system or as a utility within a larger (presumably RCPM)    */
  89. /* system.  The difference is basically that RCPM mode skips some    */
  90. /* initialization and exits to CP/M when the caller logs out, while    */
  91. /* standalone mode breaks the modem connection when the caller logs out.*/
  92. /* RCPM mode is completely untested as of 82Dec05            */
  93. #define RCPM 0            /* 0 for standalone, 1 for RCPM mode    */
  94.  
  95. /* HOMEDISK, HOMEUSER and MSGDISK tell Citadel where to look for its    */
  96. /* personal data files, help files etc.  These should be isolated in    */
  97. /* an otherwise inaccessable disk/user space, to protect the password    */
  98. /* file etc.  Citadel will expect to find all files in the userspace    */
  99. /* indicated by HOMEUSER.  It expects to find ctdlmsg.sys on MSGDISK,    */
  100. /* and all other Citadel-specific files on HOMEDISK.  Set HOMEDISK and    */
  101. /* MSGDISK to 0 for disk A:, 1 for B: etc.  User numbers run 0->31 in    */
  102. /* CPM 2.xx .  It's OK if HOMEDISK=MSGDISK, the separation is just for    */
  103. /* some systems which may not have room for everything on one disk.    */
  104. #define HOMEDISK 0        /* disk A                */
  105. #define HOMEUSER 0        /* user 0                */
  106. #define MSGDISK  0        /* disk A                */
  107.  
  108. /* LOGINOK, ENTEROK and READOK are configuration switches used to set    */
  109. /* the privileges of new callers.                    */
  110. /*    If LOGINOK is TRUE (nonzero), callers can establish a name and    */
  111. /* password for themselves without sysop intervention.    If it is    */
  112. /* FALSE (zero), new accounts can only be established from the system    */
  113. /* console.                                */
  114. /*    If ENTEROK is TRUE callers can enter messages without logging    */
  115. /* in.    Such messages will have nameless headers but the date will be    */
  116. /* intact.  Setting ENTEROK to FALSE can reduce vandalism, or keep    */
  117. /* nonpaying folks off commercial systems.                */
  118. /*    If READOK is TRUE, callers can read messages without logging    */
  119. /* in.    This provides a friendly first contact.  Setting READOK to    */
  120. /* FALSE may again be appropriate in commercial installations.        */
  121. #define LOGINOK 1        /* user-established accounts        */
  122. #define READOK 1        /* anonymous message-reading        */
  123. #define ENTEROK 0        /* no anonymous message-entry        */
  124.  
  125. /* ROOMOK is a configuration switch setting the room-creation privileges*/
  126. /* of established callers.  If ROOMOK is TRUE (nonzero) then regular    */
  127. /* folks can create new rooms, else only those with aide privileges    */
  128. /* can do so.                                */
  129. #define ROOMOK 1        /* general room-creation privileges    */
  130.  
  131. /* ALLMAIL is a configuration switch which lets the sysop decide whether*/
  132. /* all people should be allowed to send private mail to each other, or    */
  133. /* if only aides should have access to private mail and the ordinary    */
  134. /* folk can only send mail to the Sysop.  If ALLMAIL is TRUE, all get    */
  135. /* privileges; FALSE and only aides have the privilege.         */
  136. #define ALLMAIL 1        /* Everybody can send mail        */
  137.  
  138. /* CPU8085 is used to indicate if the CPU in use is an 8085, rather    */
  139. /* than a Z80 or 8080. If it is, then there is a timing difference;    */
  140. /* this switch is used to resolve the timing difference. Normally,    */
  141. /* CP/M-85 is used with the 8085 chip. This switch was implemented    */
  142. /* to allow the Zenith Z100 run Citadel on the 8085 side.        */
  143. #define CPU8085     1        /* Yes, CP/M-85         */
  144.  
  145. /************************************************************************/
  146. /*            Interpreter Routines                */
  147. /*                                    */
  148. /*  For portability, Citadel modem I/O and related functions are done    */
  149. /* through tiny routines